/**
 * Make certain fields optional
 * @example
 * type Item = {
 *    a: string
 *    b: string
 *    c: string
 * }
 * export type ItemOptions = Optional<Item, 'b' | 'c'>
 * // return
 * // type ItemOptions {
 * //     a: string
 * //     b?: string
 * //     c?: string
 * // }
 */
export type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>

export type NumericString = `${number}`
